package com.legal.aid.app.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.legal.aid.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 律师信息对象 z_lawyer
 *
 * @author ruoyi
 * @date 2025-05-27
 */
public class LawyerVo implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 律师ID，主键 */
    private Long lawyerId;

    /** 律师姓名 */
    @Excel(name = "律师姓名")
    private String lawyerName;

    /** 所属律所名称（原law_firm字段调整） */
    @Excel(name = "所属律所名称", readConverterExp = "原=law_firm字段调整")
    private String lawFirmName;

    /** 职称/头衔 */
    @Excel(name = "职称/头衔")
    private String title;

    /** 律师简介 */
    @Excel(name = "律师简介")
    private String introduction;

    /** 在线状态(0离线1在线) */
    @Excel(name = "在线状态(0离线1在线)")
    private String onlineStatus;

    /** 咨询价格 */
    @Excel(name = "咨询价格")
    private BigDecimal consultationPrice;

    /** 平均评分 */
    @Excel(name = "平均评分")
    private BigDecimal averageRating;


    /** 执业年限 */
    @Excel(name = "执业年限")
    private Long practiceYears;

    /** 专业领域（逗号分隔，使用数据字典） */
    @Excel(name = "专业领域", readConverterExp = "逗=号分隔，使用数据字典")
    private String expertise;

    public void setLawyerId(Long lawyerId)
    {
        this.lawyerId = lawyerId;
    }

    public Long getLawyerId()
    {
        return lawyerId;
    }


    public void setLawyerName(String lawyerName)
    {
        this.lawyerName = lawyerName;
    }

    public String getLawyerName()
    {
        return lawyerName;
    }

    public void setLawFirmName(String lawFirmName)
    {
        this.lawFirmName = lawFirmName;
    }

    public String getLawFirmName()
    {
        return lawFirmName;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }

    public void setIntroduction(String introduction)
    {
        this.introduction = introduction;
    }

    public String getIntroduction()
    {
        return introduction;
    }

    public void setOnlineStatus(String onlineStatus)
    {
        this.onlineStatus = onlineStatus;
    }

    public String getOnlineStatus()
    {
        return onlineStatus;
    }

    public void setConsultationPrice(BigDecimal consultationPrice)
    {
        this.consultationPrice = consultationPrice;
    }

    public BigDecimal getConsultationPrice()
    {
        return consultationPrice;
    }

    public void setAverageRating(BigDecimal averageRating)
    {
        this.averageRating = averageRating;
    }

    public BigDecimal getAverageRating()
    {
        return averageRating;
    }


    public void setPracticeYears(Long practiceYears)
    {
        this.practiceYears = practiceYears;
    }

    public Long getPracticeYears()
    {
        return practiceYears;
    }

    public void setExpertise(String expertise)
    {
        this.expertise = expertise;
    }

    public String getExpertise()
    {
        return expertise;
    }



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("lawyerId", getLawyerId())
                .append("lawyerName", getLawyerName())
                .append("lawFirmName", getLawFirmName())
                .append("title", getTitle())
                .append("introduction", getIntroduction())
                .append("onlineStatus", getOnlineStatus())
                .append("consultationPrice", getConsultationPrice())
                .append("averageRating", getAverageRating())
                .append("practiceYears", getPracticeYears())
                .append("expertise", getExpertise())
                .toString();
    }
}
